<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
	xmlns:p="http://primefaces.prime.com.tr/ui"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:c="http://java.sun.com/jsp/jstl/core"
	template="/templates/crud-template.xhtml">

<ui:define name="content">
   <div align="center">
		 <p:growl id="msgs" showDetail="true" sticky="false" life="10000"/>
<h:form id="form" style="width: 800px;"> 
    <p:dataTable id="listaAsignaturas" var="asignatura" value="#{asignaturaBean.asignaturas}" 
    widgetVar="asignaturasTable" emptyMessage="No hay asignaturas a listar" 
    paginator="true" rows="5"  
    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
    rowsPerPageTemplate="5,10,15">  
  		<f:facet name="header">  
  		<div align="right">
            <p:outputPanel>  
                <h:outputText value="Busqueda:" />
                <p:inputText id="globalFilter" onkeyup="asignaturasTable.filter()" style="width:150px" />  
            </p:outputPanel>  
        </div>
        </f:facet>
        
  		<p:column headerText="Codigo">  
            <h:outputText value="#{asignatura.intCodigoAsignatura}"/>  
        </p:column>
        
        <p:column headerText="Descripcion" filterBy="#{asignatura.strNombreAsignatura}" filterStyle="display:none">  
            <h:outputText value="#{asignatura.strNombreAsignatura}" />  
        </p:column>  
        
        <p:column headerText="Grado">  
            <h:outputText value="#{asignatura.intGrado} º" />  
        </p:column>
        
        <p:column style="width:100px">  
             <h:panelGrid columns="3" styleClass="actions" cellpadding="2">  
                 <p:commandButton update="dlgForm:display" oncomplete="carDialog.show()" image="ui-icon ui-icon-search" title="Vea el Detalle de la Asignatura">  
                     <f:setPropertyActionListener value="#{asignatura}" target="#{asignaturaBean.selectedAsignatura}" />  
                     <f:setPropertyActionListener value="#{false}" target="#{asignaturaBean.editMode}" /> 
                 </p:commandButton>  
                 <p:commandButton update="dlgForm:display" oncomplete="carDialog.show()" image="ui-icon ui-icon-pencil" title="Edite los Datos de la Asignatura" action="#{asignaturaBean.preCargaCombo}">  
                     <f:setPropertyActionListener value="#{asignatura}" target="#{asignaturaBean.selectedAsignatura}" />  
                     <f:setPropertyActionListener value="#{true}" target="#{asignaturaBean.editMode}" />  
                 </p:commandButton>  
                 <p:commandButton update="dlgForm:display" oncomplete="confirmation.show()" image="ui-icon ui-icon-close" title="Deshabilite la Asignatura">  
                     <f:setPropertyActionListener value="#{asignatura}" target="#{asignaturaBean.selectedAsignatura}" />  
                 </p:commandButton>  
             </h:panelGrid>  
        </p:column>
        <f:facet name="footer">  
         <div align="left">
         <p:commandButton value="Nueva Asignatura" update="dlgForm2:display2" oncomplete="carDialog2.show()"  image="ui-icon ui-icon-person" 
                          title="Agregue una Asignatura adicional">  
				<f:setPropertyActionListener value="#{true}" target="#{asignaturaBean.editMode}" />  
 		 </p:commandButton>
         </div>
        </f:facet> 
    </p:dataTable>  
        <p:confirmDialog message="Estas seguro?" width="350" height="200" 
                    showEffect="explode" hideEffect="explode"  
                    header="Confirm" severity="alert" widgetVar="confirmation" position="center">  
  
        <p:commandButton  type="submit" value="Si"  action="#{asignaturaBean.inhabilitaAsignatura}"  update=":form:listaalumnos" oncomplete="confirmation.hide()" ajax="false">
        </p:commandButton>  
        <p:commandButton value="No" onclick="confirmation.hide()" type="button" />  
  
    </p:confirmDialog>
  
</h:form> 
                
<p:dialog header="Detalle Asignatura" widgetVar="carDialog" resizable="false" id="carDlg"  
                showEffect="fade" hideEffect="explode" modal="true" width="400" position="center">  
<h:form id="dlgForm">  
          <h:panelGrid id="display" columns="2" cellpadding="2" style="margin:0 auto;" >  
  
            <h:outputText value="Codigo Asignatura" />  
            <h:panelGroup>  
                <h:outputText value="#{asignaturaBean.selectedAsignatura.intCodigoAsignatura}" style="font-weight:bold" rendered="#{!asignaturaBean.editMode}"/>  
                <h:outputText value="#{asignaturaBean.selectedAsignatura.intCodigoAsignatura}" style="font-weight:bold" rendered="#{asignaturaBean.editMode}" />  
            </h:panelGroup>  
  
            <h:outputText value="Nombre Asignatura" />  
            <h:panelGroup>  
                <h:outputText value="#{asignaturaBean.selectedAsignatura.strNombreAsignatura}" style="font-weight:bold" rendered="#{!asignaturaBean.editMode}"/>  
                <p:inputText value="#{asignaturaBean.selectedAsignatura.strNombreAsignatura}" style="font-weight:bold" rendered="#{asignaturaBean.editMode}" required="true" label="Nombre Asignatura"/>  
            </h:panelGroup>
            
            <h:outputText value="Nivel" />  
            <h:panelGroup>  
            <h:outputText value="#{asignaturaBean.selectedAsignatura.strNivel}" style="font-weight:bold" rendered="#{!asignaturaBean.editMode}"/>  
            <h:selectOneMenu id="nivel" value="#{asignaturaBean.selectedAsignatura.strNivel}" 
            				 style="font-weight:bold" rendered="#{asignaturaBean.editMode}" 
            				 required="true" label="Nivel Asignatura">  
                <f:selectItem itemLabel="Seleccione Nivel" itemValue="#{0}"/>  
                <f:selectItem itemLabel="Primario" itemValue="Primario" /> 
                <f:selectItem itemLabel="Secundario" itemValue="Secundario" /> 
                <p:ajax update="grado"
                        listener="#{asignaturaBean.obtieneGradosA}" />      
            </h:selectOneMenu> 
            </h:panelGroup>    
           
            <h:outputText value="Grado Asignatura" />  
            <h:panelGroup>  
            <h:outputText value="#{asignaturaBean.selectedAsignatura.intGrado} º" style="font-weight:bold" rendered="#{!asignaturaBean.editMode}"/> 
            <h:selectOneMenu id="grado" value="#{asignaturaBean.selectedAsignatura.intGrado}" style="font-weight:bold" rendered="#{asignaturaBean.editMode}" required="true" 
            				label="Grado">  
            	<f:selectItem itemLabel="Seleccione Grado" itemValue="#{null}" />  
            	<f:selectItems  value="#{asignaturaBean.grados}" var="grado"
            	                itemLabel="#{grado.valor}" itemValue="#{grado.id}"/>  
             </h:selectOneMenu>   
            </h:panelGroup>  
  
          <f:facet name="footer"> 
                <p:outputPanel rendered="#{asignaturaBean.editMode}" layout="block" style="text-align:center">
                <h:panelGroup>
					  <p:commandButton value="Grabar" 
					  actionListener="#{asignaturaBean.actualizaAsignatura}"  
					  update="form:listaAsignaturas msgs" 
                      image="ui-icon ui-icon-check"
                      oncomplete="onEditComplete(args)"/>
                    <p:commandButton value="Cancelar" onclick="carDialog.hide()" type="button" image="ui-icon ui-icon-close"/>
  				</h:panelGroup>
              </p:outputPanel>  
          </f:facet>  
        </h:panelGrid> 
       </h:form>
    </p:dialog>  
    
    
    <p:dialog header="Nuevo Asignatura" widgetVar="carDialog2" resizable="false" id="carDlg2"  
                showEffect="fade" hideEffect="explode" modal="true" width="400" position="center"
                onShow="limpiarTextBox('#dlgForm2')">  
	   <h:form id="dlgForm2">  
          <h:panelGrid id="display2" columns="2" cellpadding="2" style="margin:0 auto;" >  
            
            <h:outputText value="Nombre Asignatura" />  
            <h:panelGroup>  
                <p:inputText id="valor" binding="#{valor}" value="#{asignaturaBean.nuevaAsignatura.strNombreAsignatura}" style="font-weight:bold" required="true" label="Nombre Asignatura"/>  
            </h:panelGroup> 
            
            <h:outputText value="Nivel" />  
            <h:panelGroup>  
            <h:selectOneMenu id="nivel" value="#{asignaturaBean.strNivel}" 
            				 style="font-weight:bold" required="true" label="Nivel Asignatura">  
                <f:selectItem itemLabel="Seleccione Nivel" itemValue="#{0}"/>  
                <f:selectItem itemLabel="Primario" itemValue="Primario" /> 
                <f:selectItem itemLabel="Secundario" itemValue="Secundario" /> 
                <p:ajax update="grado"
                        listener="#{asignaturaBean.obtieneGradosN}" />      
            </h:selectOneMenu> 
            </h:panelGroup>    
           
            <h:outputText value="Grado Asignatura" />  
            <h:panelGroup>  
            <h:selectOneMenu id="grado"  value="#{asignaturaBean.nuevaAsignatura.intGrado}" style="font-weight:bold" required="true" 
            				label="Grado Asignatura">  
            	<f:selectItem itemLabel="Seleccione Grado" itemValue="#{null}" />  
            	<f:selectItems value="#{asignaturaBean.grados}" var="grado"
            	                itemLabel="#{grado.valor}" itemValue="#{grado.id}"/>  
            	 <f:validator validatorId="asignaturaValidator" />
           		 <f:attribute name="valor" value="#{valor.value}" />
             </h:selectOneMenu>   
            </h:panelGroup>  
            
          <f:facet name="footer"> 
                <p:outputPanel rendered="true" layout="block" style="text-align:center">
                <h:panelGroup>
					  <p:commandButton value="Grabar" 
					  actionListener="#{asignaturaBean.registraAsignatura}"  
					  update="form:listaAsignaturas msgs" 
                      image="ui-icon ui-icon-check"
                      oncomplete="onEditCompleteRegistrar(args)"/>
                     <p:commandButton value="Cancelar" onclick="carDialog2.hide()" type="button" image="ui-icon ui-icon-close"/>
  				</h:panelGroup>
              </p:outputPanel>  
          </f:facet>  
          
        </h:panelGrid> 
       </h:form>
    </p:dialog>
	</div>
</ui:define>

</ui:composition>